package com.ocom.wxapi.client;

import com.ocom.common.constant.PayConfigUrl;
import com.ocom.common.request.payconfig.*;
import com.ocom.common.request.web.ConsTimeConfigOnShowRequest;
import com.ocom.common.resp.Result;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;

@FeignClient(value = "payconfig")
public  interface PayConfigClientService {

    @PostMapping(PayConfigUrl.Url_getTurnoverReports)
    public Result getTurnoverReports(@RequestBody TotalTurnoverRequest totalTurnoverRequest);

    //2.2.获取餐段时间信息(getMealTimeInfo)
    @PostMapping(PayConfigUrl.URLP_PayConfig_GetMealTimeInfo)
    Result GetMealTimeInfo(@RequestBody ConsTimeConfigOnShowRequest request);

    @PostMapping(PayConfigUrl.URLP_PayConfig_getMealConsumeReports)
    public Result getMealConsumeReports(@RequestParam("comId") Long comId);

    @GetMapping(PayConfigUrl.URLP_PayConfig_GetMealNameInfo)
    Result GetMealNameInfo(@RequestParam("comId") Long comId);

    @PostMapping(PayConfigUrl.URL_newIotDevice)
    public Result newIotDevice(@RequestBody NewIotDeviceRequest newIotDeviceRequest);

    @PostMapping(PayConfigUrl.URL_updateIotDevice)
    public Result updateIotDevice(@RequestBody UpdateIotDeviceRequest updateIotDeviceRequest);

    @PostMapping(PayConfigUrl.URL_removeIotDevice)
    public Result removeIotDevice(@RequestBody RemoveIotDeviceRequest request);

    @PostMapping(PayConfigUrl.URL_iotDeviceList)
    public Result iotDeviceList(@RequestBody IotDeviceListRequest request);

    @PostMapping(PayConfigUrl.Url_getTollPointInfo)
    Result getTollPointInfo(@RequestBody GetTollPointInfoRequest request);

    @PostMapping(PayConfigUrl.Url_dishesClassList)
    public Result dishesClassList(@RequestParam("comId") Long comId, @RequestParam("merchId") Integer merchId);
}